package com.hyst.service;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

import com.github.pagehelper.Page;
import com.hyst.common.ResultBean;
import com.hyst.domain.Student;
import com.hyst.domain.StudentView;

/**
 * @Description:Service
 * @author：dy @Date：2018年08月25日
 */

public interface StudentService {

	/**
	 * @Description: 根据条件列表查询
	 * @param Recommend
	 * @return Page<Student>
	 */
	Page<Student> list(Student student);

	ResultBean saveDelete(String studentId);

		/**
         * @Description:添加单条记录，空属性值会采用数据库默认值插入
         * @param student
         * @return Student
         */
	Student insert(Student student);

	/**
	 * @Description:根据主键获取
	 * @param studentId
	 * @return Student
	 */
	Student getByPriKey(String studentId);

	/**
	 * @Description:根据对象主键更新对象不为空字段
	 * @param student
	 * @return Student
	 */
	Student updateSelective(Student student);

	/**
	 * @Description:根据对象主键更新对象不为空字段
	 * @param student
	 * @return Student
	 */
	Student update(Student student);

	/**
	 * @Description:根据主键获取
	 * @param studentId
	 * @return Student
	 */
	Student delete(String studentId);

	Page<StudentView> listview(StudentView studentView);

	List<Map> getSelect2Data();

	List<Map> getSelect3Data();

	Page<StudentView> getDataByCondition(StudentView studentView,String condition);
	
	Page<StudentView> getDataByFuzerenId(StudentView studentView,String condition);
	
	Student saveAllotData(String studentId);
	
	Student saveRemark(String studentId);
	
	Student savestateEdit(String studentId);
	
	Student savedoDelete(String studentId);

	StudentView getStuInfo(String studentId);

	/**
	* @Description: 
	* @param phone
	* @param startDate
	* @param endDate
	* @return	String
	 * @throws CloneNotSupportedException 
	 * @throws ParseException 
	*/ 
	String leave(String phone, String startDate, String endDate) throws ParseException, CloneNotSupportedException;

	List<Map> getSelect4Data(String key);

	ResultBean weixinBindStatics();
}
